package com.larly.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.larly.common.PageRequest;
import com.larly.model.domain.UserFollow;
import com.baomidou.mybatisplus.extension.service.IService;
import com.larly.model.dto.userfollow.UserFollowAddRequest;
import com.larly.model.vo.UserVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author 许颢达
* @description 针对表【user_follow(用户关注关系表)】的数据库操作Service
* @createDate 2025-08-22 19:42:05
*/
public interface UserFollowService extends IService<UserFollow> {

    /**
     * 关注
     */
    boolean follow(UserFollowAddRequest userFollowAddRequest, HttpServletRequest request);

    /**
     * 取关
     */
    boolean unfollow(UserFollowAddRequest userFollowAddRequest, HttpServletRequest request);

    /**
     * 获取粉丝列表
     */
    List<UserVO> getFollower(HttpServletRequest request, PageRequest pageRequest);

    /**
     * 获取关注列表
     */
    List<UserVO> getFollowing(HttpServletRequest request, PageRequest pageRequest);

}
